package com.dhcc.bpm.modules.gateway.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @ClassName GatewayRoute
 * @Description 网关路由表实体类
 * @Author YaoZC
 * @Date 2019/11/26 16:08
 * @Version 1.0
 * @Copyright: 2019 东华软件 . All rights reserved.
 */
@Data
@TableName("opc_gateway_route")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GatewayRoute对象", description = "GatewayRoute对象")
public class GatewayRoute extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 路由ID
	 */
	@ApiModelProperty(value = "路由ID")
	private String routeId;
	/**
	 * uri
	 */
	@ApiModelProperty(value = "back_service_id")
	private String backServiceId;
	/**
	 * 路由类型
	 */
	@ApiModelProperty(value = "路由类型")
	private Integer predicates;
	/**
	 * 路由配置
	 */
	@ApiModelProperty(value = "路由配置")
	private String routeConfig;
	/**
	 * 过滤器配置
	 */
	@ApiModelProperty(value = "过滤器配置")
	private String filters;
	/**
	 * 网关ID
	 */
	@ApiModelProperty(value = "网关ID")
	@JsonSerialize(
			using = ToStringSerializer.class
	)
	private Long opcGatewayId;

	/**
	 * 租户ID
	 */
	@ApiModelProperty(value = "租户ID")
	private String tenantId;
	/**
	 * 环境类型
	 */
	@ApiModelProperty(value = "环境类型")
	private String env;
	/**
	 * API接口ID
	 */
	@ApiModelProperty(value = "API接口ID")
	@JsonSerialize(
			using = ToStringSerializer.class
	)
	private String opcApiId;

	/**
	 * 导出数据标识
	 */
	@ApiModelProperty(value = "导出数据标识")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private String expSeq;

	/**
	 * 是否路由到节点
	 */
	@ApiModelProperty(value = "是否路由到节点")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private String isEnable;
	/**
	 * IP地址
	 */
	@ApiModelProperty(value = "IP地址")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private String ipAddress;

	/**
	 * 路由执行顺序
	 */
	@ApiModelProperty(value = "路由执行顺序")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Integer routeOrder;
}
